7.3.2 Crear una orden de pago con código de escaneo con una cantidad limitada de moneda digital (tipo de cambio definido por el comerciante)
#Breve descripción: Interfaz comercial de recarga de moneda digital, los usuarios pueden recargar USDT (Tether) a su cuenta de billetera digital escaneando el código QR (tipo de cambio personalizado del comerciante, debe iniciar sesión en la configuración de backend del comerciante)
- Método de solicitud: POST
- Interfaz de solicitud: https://gateway-domain/wallet-trade-merchant/v1/receive/blockchain/fixed/custom/rate/create
- Solicitar tipo de medio (formato de datos JSON) Tipo de contenido: aplicación/json
Parámetros de solicitud
| Nombre del parámetro | Tipo | Obligatorio | Significado del parámetro | Descripción del parámetro |
|---|---|---|---|---|
key | string | Sí | Clave de comerciante | apiKey |
localOrderId | string | Sí | Número de pedido local de la plataforma comercial | La plataforma comercial genera un número de pedido único a nivel local |
localUserId | string | No | ID de usuario local de la plataforma comercial | ID de usuario local de la plataforma comercial |
notifyUrl | string | No | Dirección de devolución de llamada | Una vez realizado correctamente el pedido, la dirección del comerciante será notificada mediante una devolución de llamada API (los detalles de la devolución de llamada se encuentran en la parte inferior) |
successRedirectUrl | string | No | Dirección de salto | Saltar automáticamente a la dirección después del éxito |
userCurrency | string | Sí | Moneda | La moneda que el usuario necesita para pagar (la billetera admite monedas digitales) |
quoteCurrency | string | Sí | Moneda de cotización personalizada | Moneda de cotización personalizada (debe iniciar sesión en el backend del comerciante para establecer el tipo de cambio de la moneda de cotización) |
quoteAmount | number | Sí | Monto de cotización personalizado | Importe del precio del pedido |
isBlockchain | boolean | No | Ya sea para devolver información de blockchain (falso predeterminado) | Cuando sea verdadero, la solicitud de devolución de llamada llevará la información de la transacción en la cadena de pedidos |
networkLimits | array | No | Red principal | Red principal de pago designada, como TRON, BSC, POLYGON, ETHEREUM |
expireSecond | Long | No | Marca de tiempo de vencimiento (segundos) | |
sign | string | Sí | Firma | Consulte Algoritmo de firma para obtener más detalles |
Solicitar muestra json
{
"key": "dNNTJZpgFVWlYrVv",
"localOrderId": "CONANTEST01140",
"userCurrency": "USDT",
"quoteCurrency": "CNY",
"quoteAmount": "20",
"networkLimits": ["TRON", "BSC"],
"sign": "401c6541a4ba99794981233794f29a56"
}
Ejemplo de respuesta json
{
"code": 0,
"success": true,
"message": null,
"data": {
"orderId": 474108977750213,
"localUserId": null,
"localOrderId": "CONANTEST01140",
"orderType": "PAYMENT",
"orderBizType": "PAYMENT_FIXED_DIGITAL_SCAN",
"paymentUrl": "https://dxpay.dxstudio.org/fixed-amount-pay/JhpkZduKiBYPyn3WhobAWJnzwLMmvWxGwqrBFTRRDBf6VX7UUJeqL52ERxX6",
"publicKey": "JhpkZduKiBYPyn3WhobAWJnzwLMmvWxGwqrBFTRRDBf6VX7UUJeqL52ERxX6",
"currency": "CNY",
"userCurrency": "USDT",
"amount": "20",
"userReceivableAmount": "1.83",
"rate": "10.9",
"rateExpression": "1USDT≈10.9CNY"
}
}
La URL de pago devuelta muestra la página de pago, como se muestra a continuación: /7.3 数字币限定金额扫码支付/CustomizeUsdt.jpg)
descripción del parámetro de datos
| Nombre del parámetro | Tipo | Significado del parámetro | Descripción del parámetro |
|---|---|---|---|
orderId | string | ID de pedido | |
localUserId | string | ID de usuario local del comerciante | |
localOrderId | string | Número de pedido local del comerciante | |
orderType | enum | Tipo de pedido | PAYMENT:支付订单 | WITHDRAW:提款订单 |
orderBizType | enum | Tipo de negocio de pedido | La descripción del tipo orderBizType es la siguiente |
paymentUrl | string | Dirección de pago | |
publicKey | string | Clave | Clave de acceso público |
currency | string | Moneda del pedido | |
userCurrency | string | Moneda de pago del usuario | |
amount | string | Importe del pedido | |
userReceivableAmount | string | Importe a pagar por el usuario | |
rate | string | Tipo de cambio | |
rateExpression | string | Ordenar expresión del tipo de cambio |
descripción del tipo orderBizType:
- PAYMENT_WALLET_SCAN Pago con código de escaneo de billetera MINPAY
- PAYMENT_TRANSFER depósito directo de dirección vinculante de moneda digital
- PAYMENT_ANY_DIGITAL_SCAN Escanee el código QR para pagar cualquier cantidad de moneda digital
- FROMDRAW_WALLET retirar dinero a la billetera MINPAY
- FROMDRAW_ANY_DIGITAL_WALLET Retirar moneda digital a cualquier billetera
- PAYMENT_FIXED_DIGITAL_SCAN pago con código de escaneo de cantidad limitada en moneda digital
- BATCH_PAY pago por lotes
Detalles de devolución de llamada
El método de devolución de llamada es: aplicación POST/json
Ejemplo de jsonización de parámetros de devolución de llamada
{
"amount": 1,
"bizType": "PAYMENT_FIXED_DIGITAL_SCAN",
"blockchain": {
"network": "TRON",
"receiverAddress": "TA1jptT16DssYWVGdVyFWxonku6hWK7En3",
"senderAddress": "TPutFhYUQnrRxHSmKVwjp55vgk9QY6r5nS",
"txId": "24d0d0e5d417bd2195c45d64724760ae47fc3b359ee31c5fedf25b40f3584b36"
},
"currency": "USDT",
"extra": {
"quoteAmount": 10,
"quoteCurrency": "CNY",
"quotePrice": 10
},
"key": "h3cS7dBltRU4W1wD",
"localOrderId": "2820",
"merchantActualAmount": 22.72,
"merchantCurrency": "CNY",
"merchantId": 303122065665,
"merchantPaidAmount": 7.33,
"notifyTime": 1736744168370,
"orderCreateTime": 1731572133082,
"orderId": "273124814912907",
"sign": "699806308a9e055114c378671b0d2a15",
"status": "SUCCESS",
"type": "WITHDRAW",
"userAmount": 1,
"userCurrency": "USDT",
"userReceivableAmount": 1
}
| Nombre del parámetro | Tipo | Firma participante | Significado del parámetro | Descripción del parámetro |
|---|---|---|---|---|
amount | decimal | Sí | Monto del pedido | |
bizType | enum | Sí | Tipo de pedido | |
blockchain | object | Sí | Información de transacciones en cadena | Cuando el parámetro de solicitud de pedido esBlockchain es verdadero, la solicitud de devolución de llamada llevará la información de este objeto. (Cuando solo se trata de transacciones en cadena, el parámetro isBlockchain entrará en vigor) |
| └red | String | Sí | Red principal | |
| └dirección del receptor | String | Sí | Dirección del destinatario | |
| └Dirección del remitente | decimal | Sí | Dirección de envío | |
| └txId | String | Sí | ID de transacción | |
currency | String | Sí | Moneda | |
key | String | Sí | Clave de comerciante | |
localOrderId | String | Sí | Número de pedido local | |
merchantActualAmount | decimal | Sí | Monto de pago real del comerciante | |
merchantCurrency | String | Sí | Moneda de pago comercial | Moneda predeterminada |
merchantId | String | Sí | Identificación del comerciante | |
merchantPaidAmount | decimal | Sí | Monto del pago al comerciante | |
merchantUserId | String | Sí | Identificación de usuario | |
notifyTime | long | Sí | Tiempo de devolución de llamada | |
orderCreateTime | long | Sí | Hora de creación del pedido | |
orderId | String | Sí | Número de pedido | |
status | String | Sí | Estado de pago | |
type | String | Sí | Tipo de pedido | PAYMENT:支付 WITHDRAW:提款 |
userAmount | decimal | Sí | Monto del pago del usuario | |
userCurrency | String | Sí | Moneda de pago del usuario | |
sign | String | No | firma md5 | Ver algoritmo de firma para más detalles |
extra | object | Sí | Contiene los siguientes parámetros | |
| └monto de cotización | number | Sí | Importe de la cotización del pedido | |
| └citaMoneda | number | Sí | Moneda de cotización del pedido | |
| └presupuestoPrecio | string | Sí | Precio de cotización del pedido | |
userReceivableAmount | string | Sí | Importe a pagar por el usuario |
Cuando reciba la notificación de devolución de llamada, devuelva directamente la cadena éxito después de que se complete el procesamiento, lo que indica que el mensaje se recibió y procesó exitosamente. Después de que el sistema reciba la respuesta exitosa, ya no enviará la devolución de llamada repetidamente. Si no se recibe la respuesta esperada (no se devuelve el éxito o se devuelve una excepción), el sistema reenviará la notificación de devolución de llamada de acuerdo con el mecanismo de reintento escalonado, reintentando hasta 14 veces. Los intervalos de reintento actuales son: 15, 15, 30, 180, 600, 1200, 1800, 1800, 1800, 3600, 10800, 10800, 21600, 21600